Suljettu. Tämä kysymys ei täytä pinon ylivuotoa koskevia ohjeita. Se ei tällä hetkellä hyväksy vastauksia. Haluatko parantaa tätä kysymystä? Päivitä kysymys, jotta se olisi Stack Overflow -aiheessa. Suljettu 4 vuotta sitten. Paranna tätä kysymystä Rakennan Shiny-sovellusta, joka käsittelee useita käyttäjän valitsemia tekstitiedostoja. Tulos on valtava datakehys, jossa on miljoonia rivejä ja kymmeniä sarakkeita. Olen nyt kiinnostunut sallimaan käyttäjän suodattaa rivejä vuorovaikutteisesti, valita sarakkeita ja tiivistää sarakkeet (valitsemalla luettelosta toimintoja, kuten keskiarvo, sd, max, min, summa jne ... Tuloksena olisi pienempi datakehys, joka tiivistää tiedot käyttäjän valintoja kohti - pohjimmiltaan minun on luotava GUI, joka toteuttaa dplyr-kirjaston perustoiminnot. Yleensä tiedän, miten se tehdään luomalla manuaalisesti joukko GUI-elementtejä ja syöttämällä ne palvelintoimintoon useilla dplyr-komennoilla. Koska tämä näyttää olevan melko vakiotoiminto (graafinen käyttöliittymä, joka suodattaa ja tiivistää tietokehyksen), mietin ennen kuin aloitan sen rakentamisen alusta alkaen, onko jotain "hyllyn ulkopuolella" voin käyttää joko sellaisenaan tai lähtökohtana .
2021-02-22 08:14:02
Tiedän, että sanoit, että rpivotTable ei ollut aivan mitä etsit, mutta mielestäni se voidaan konfiguroida tekemään joitain raskaita nostoja Tässä on esimerkki (käyttämällä manipulointiin rpivotTable-ohjelmaa, DT näyttämällä data.frame, rvest jäsentää sisäinenHTML DOM: sta, taulukon objektin välittämiseen asiakaspuolelta saattaa olla parempi tietomuoto, mutta tämä on todiste konseptista ): ui.R kirjasto (kiiltävä) kirjasto (DT) kirjasto (rpivotTable) FullPage <- fluidPage ( DT :: dataTableOutput ('aSummaryTable'), rpivotTableOutput ('TULOKSET') ) Täysi sivu palvelin.R: kirjasto (kiiltävä) kirjasto (rpivotTable) kirjasto (DT) kirjasto (rvest) toiminto (tulo, lähtö, istunto) { # Tee esimerkkitietoja qbdata <- reaktiivinen ({ expand.grid (LETTERS, 1: 3) }) # Puhdista HTML ja säilytä reaktiivisena summarydf <- eventReactive (input $ myData, { input $ myData%>% read_html%>% html_table (fill = TRUE)%>% # Osoittautuu, että rpivot-taulukossa on kaksi taulukkoa, haluamme toisen [[2]] }) # näytä df muodossa DT :: datatable output $ aSummaryTable <- DT :: renderDataTable ({ datatable (summarydf (), rownames = EPÄTOSI) }) # Kun kokoonpano päivitetään, soita takaisin taulukon sisällöllä output $ RESULTS <- renderRpivotTable ({ rpivotTable ( qbdata (), onRefresh = htmlwidgets :: JS ("funktio (config) { Shiny.onInputChange ('myData', document.getElementById ('TULOKSET'). SisäinenHTML); } ") ) }) } | Eikö vastausta etsit? Selaa muita kysymyksiä, jotka on merkitty r dplyr shiny tai kysy oma kysymyksesi.